您好,欢迎来到达州工业云! 平台首页 企业驾驶舱 帮助中心 企业登录 企业注册

HI,欢迎使用达州工业云平台!

账号必须大于2位

创新资源平台
服务平台首页>专利库>专利详情

实现VoIP语音流穿透防火墙的VoIP系统及方法

  • 申请号:CN201110371323.8 申请公布号: CN102413136B
  • 申请日: 2011-11-21 申请公布日: 2014-07-09
  • 申请(专利权)人: 专利代理机构: 北京海虹嘉诚知识产权代理有限公司
  • 分类号:H04L29/06

专利介绍

本发明公开了实现VoIP语音流穿透防火墙的VoIP系统及方法,其方法通过各终端分别向各个代理服务器发送探测消息来确定优先级最高的代理服务器;由终端向与其对应的优先级最高的代理服务器发送资源请求消息,请求分配媒体代理地址;由相应的代理服务器响应终端的资源请求,将媒体代理地址发送给终端;由作为主叫的终端向软交换服务器发起呼叫请求信息,并携带与其相应的媒体代理地址;通过软交换服务器向相应的作为被叫的终端转发呼叫请求信息;由作为被叫的终端向软交换服务器返回应答信息,并将该终端的媒体代理地址附带在应答消息中,与主叫的终端建立通话。本发明采用先建立语音信道再建立控制通道的方式,确保了通话质量。
1.一种实现VoIP语音流穿透防火墙的VoIP系统,其特征在于,包括软交换服务器、至少两个代理服务器和至少两个VoIP终端;所述VoIP系统终端分别与所述软交换服务器和各代理服务器连接,所述软交换服务器分别与各代理服务器连接;所述VoIP终端,用于向各代理服务器发送探测消息,并根据各代理服务器的响应速度,确定各代理服务器的优先级;以及向优先级最高的代理服务器发送资源请求消息,请求该代理服务器分配媒体代理地址;以及通过软交换服务器向其它VoIP终端发起呼叫请求信息,或者应答所述软交换服务器转发的其它VoIP终端发送的呼叫请求信息;所述代理服务器,用于响应各VoIP终端发送的探测消息;以及在收到资源请求消息后,向相应的VoIP终端发送附带其媒体代理地址的应答信息;所述软交换服务器,用于将作为主叫的VoIP终端发送的呼叫请求信息转发给作为被叫的VoIP终端,使作为主叫的VoIP终端与其被叫的VoIP终端建立通话;其中:在确定优先级最高的代理服务器后,由作为主叫的VoIP终端向与其对应的优先级最高的代理服务器发送资源请求消息,请求该代理服务器分配媒体代理地址;由相应的代理服务器响应作为主叫的VoIP终端的资源请求,将媒体代理地址发送给作为主叫的VoIP终端;由作为主叫的VoIP终端向软交换服务器发起呼叫请求信息,并携带与其相应的媒体代理地址;通过软交换服务器向相应的作为被叫的VoIP终端转发所述呼叫请求信息;由作为被叫的VoIP终端向其对应的优先级最高的代理服务器发送资源请求消息,请求该代理服务器分配媒体代理地址;由相应的代理服务器响应作为被叫的VoIP终端的资源请求,将媒体代理地址发送给作为被叫的VoIP终端;由作为被叫的VoIP终端向软交换服务器返回应答信息,并将该VoIP终端的媒体代理地址附带在应答消息中,与主叫的VoIP终端建立通话。
2.根据权利要求1所述的实现VoIP语音流穿透防火墙的VoIP系统,其特征在于,所述VoIP终端还用于向软交换服务器发送注册信息,与软交换服务器和各代理服务器组成VoIP网络。
3.根据权利要求1所述的实现VoIP语音流穿透防火墙的VoIP系统,其特征在于,所述VoIP网络还用于周期性的向各代理发送探测消息,更新各代理服务器的优先级。
4.根据权利要求1所述的实现VoIP语音流穿透防火墙的VoIP系统,其特征在于,所述VoIP终端为VoIP话机、VoIP软终端、VoIP接入网关中的一种或多种。
5.一种采用权利要求1所述的VoIP系统的实现VoIP语音流穿透防火墙的方法,其特征在于,包括:由各VoIP终端分别向各个代理服务器发送探测消息,并根据各代理服务器的响应速度,确定优先级最高的代理服务器;由作为主叫的VoIP终端向与其对应的优先级最高的代理服务器发送资源请求消息,请求该代理服务器分配媒体代理地址;由相应的代理服务器响应作为主叫的VoIP终端的资源请求,将媒体代理地址发送给作为主叫的VoIP终端;由作为主叫的VoIP终端向软交换服务器发起呼叫请求信息,并携带与其相应的媒体代理地址;通过软交换服务器向相应的作为被叫的VoIP终端转发所述呼叫请求信息;由作为被叫的VoIP终端向其对应的优先级最高的代理服务器发送资源请求消息,请求该代理服务器分配媒体代理地址;由相应的代理服务器响应作为被叫的VoIP终端的资源请求,将媒体代理地址发送给作为被叫的VoIP终端;由作为被叫的VoIP终端向软交换服务器返回应答信息,并将该VoIP终端的媒体代理地址附带在应答消息中,与主叫的VoIP终端建立通话。
6.根据权利要求5所述的VoIP系统的实现VoIP语音流穿透防火墙的方法,其特征在于,在由各VoIP终端向各代理服务器发送探测消息,并根据各代理服务器的响应速度,确定优先级最高的代理服务器的步骤之前,所述的方法还包括:VoIP终端向软交换服务器发送注册信息,与软交换服务器和各代理服务器组成一个VoIP网络。
7.根据权利要求5所述的VoIP系统的实现VoIP语音流穿透防火墙的方法,其特征在于,所述的方法还包括:各VoIP终端周期性的向各代理发送探测消息,在网络变更时,更新各代理服务器的优先级。
8.根据权利要求5或7所述的VoIP系统的实现VoIP语音流穿透防火墙的方法,其特征在于,VoIP终端分别向各个代理服务器发送探测消息时,将响应速度最快的代理服务器作为该VoIP终端的优先级最高的代理服务器。
9.根据权利要求5所述的VoIP系统的实现VoIP语音流穿透防火墙的方法,其特征在于,所述的方法还包括:在建立通话之后,VoIP语音流在VoIP终端与其相应的优先级最高的代理服务器之间传输。技术领域
本发明涉及VoIP语音通信技术领域,特别涉及一种实现VoIP语音流穿透防火墙的VoIP系统及方法。
背景技术
目前,在使用软交换技术进行大规模、分布式建设VoIP(Voicexa0overxa0Internetxa0Protocol,使用了互联网协议的网络上进行语音传输)网络时,通常会涉及到软交换服务器位于公网上,而各终端用户位于用户私网中的组网拓扑。同时,为了保障安全,在用户私网和公网之间的界面上,通常会部署防火墙,于是位于防火墙内部的用户终端进行语音通信时通常会面临这样两个问题:首先、如果语音不能穿透防火墙则会造成这部分用户无法接入到VoIP网络中,出现呼叫成功但是不能通话的故障现象;另外、语音通话使用的RTP协议(Real-timexa0Transportxa0Protocol,实时传输协议)只提供一种尽力而为的服务,如果用户网络到运营商代理服务器之间网络较差,则会导致语音质量无法保障,影响了正常的通话。为解决上述问题,业界通常使用呼叫和媒体代理机制。传统的呼叫和媒体代理机制一般通过用户先发起呼叫到软交换服务器,由软交换服务器选择指定的媒体网关,并将媒体流的RTP(Real-timexa0Transportxa0Protocol,实时传送协议)地址给发起终端,发起终端使用软交换服务器分配的RTP地址来通话。但是,如果软交换服务器分配的流媒体代理服务器和用户终端的网络刚好出现不通(不能穿透防火墙)或网络质量很差的情况时,用户的这次通话就会出现语音不通,影响了用户的体验。因而现有技术还有待改进和提高。
发明内容
鉴于上述现有技术的不足之处,本发明的目的在于提供一种实现VoIP语音流穿透防火墙的VoIP系统及方法,以解决现有技术代理服务器和用户终端之间的网络有可能不通,以及传输质量很差的问题。为了达到上述目的,本发明采取了以下技术方案:一种实现VoIP语音流穿透防火墙的VoIP系统,其包括软交换服务器、至少两个代理服务器和至少两个VoIP终端;所述VoIP系统终端分别与所述软交换服务器和各代理服务器连接,所述软交换服务器分别与各代理服务器连接;所述VoIP终端,用于向各代理服务器发送探测消息,并根据各代理服务器的响应速度,确定各代理服务器的优先级;以及向优先级最高的代理服务器发送资源请求消息,请求该代理服务器分配媒体代理地址;以及通过软交换服务器向其它VoIP终端发起呼叫请求信息,或者应答所述软交换服务器转发的其它VoIP终端发送的呼叫请求信息;所述代理服务器,用于响应各VoIP终端发送的探测消息;以及在收到资源请求消息后,向相应的VoIP终端发送附带其媒体代理地址的应答信息;所述软交换服务器,用于将作为主叫的VoIP终端发送的呼叫请求信息转发给作为被叫的VoIP终端,使作为主叫的VoIP终端与其被叫的VoIP终端建立通话。上述的实现VoIP语音流穿透防火墙的VoIP系统中,所述VoIP终端还用于向软交换服务器发送注册信息,与软交换服务器和各代理服务器组成VoIP网络。上述的实现VoIP语音流穿透防火墙的VoIP系统中,所述VoIP网络还用于周期性的向各代理发送探测消息,更新各代理服务器的优先级。上述的实现VoIP语音流穿透防火墙的VoIP系统中,所述VoIP终端为VoIP话机、VoIP软终端、VoIP接入网关中的一种或多种。一种采用上述的VoIP系统的实现VoIP语音流穿透防火墙的方法,其包括:由各VoIP终端分别向各个代理服务器发送探测消息,并根据各代理服务器的响应速度,确定优先级最高的代理服务器;由作为主叫的VoIP终端向与其对应的优先级最高的代理服务器发送资源请求消息,请求该代理服务器分配媒体代理地址;由相应的代理服务器响应作为主叫的VoIP终端的资源请求,将媒体代理地址发送给作为主叫的VoIP终端;由作为主叫的VoIP终端向软交换服务器发起呼叫请求信息,并携带与其相应的媒体代理地址;通过软交换服务器向相应的作为被叫的VoIP终端转发所述呼叫请求信息;由作为被叫的VoIP终端向其对应的优先级最高的代理服务器发送资源请求消息,请求该代理服务器分配媒体代理地址;由相应的代理服务器响应作为被叫的VoIP终端的资源请求,将媒体代理地址发送给作为被叫的VoIP终端;由作为被叫的VoIP终端向软交换服务器返回应答信息,并将该VoIP终端的媒体代理地址附带在应答消息中,与主叫的VoIP终端建立通话。上述的VoIP系统的实现VoIP语音流穿透防火墙的方法中,在由各VoIP终端向各代理服务器发送探测消息,并根据各代理服务器的响应速度,确定优先级最高的代理服务器的步骤之前,所述的方法还包括:VoIP终端向软交换服务器发送注册信息,与软交换服务器和各代理服务器组成一个VoIP网络。上述的VoIP系统的实现VoIP语音流穿透防火墙的方法中,所述的方法还包括:各VoIP终端周期性的向各代理发送探测消息,在网络变更时,更新各代理服务器的优先级。上述的VoIP系统的实现VoIP语音流穿透防火墙的方法中,VoIP终端分别向各个代理服务器发送探测消息时,将响应速度最快的代理服务器作为该VoIP终端的优先级最高的代理服务器。上述的VoIP系统的实现VoIP语音流穿透防火墙的方法中,所述的方法还包括:在建立通话之后,VoIP语音流在VoIP终端与其相应的优先级最高的代理服务器之间传输。相较于现有技术,本发明提供的实现VoIP语音流穿透防火墙的VoIP系统及方法,通过各个VoIP终端向VoIP系统中各个代理服务器发送探测消息来选择最优的流媒体代理服务器从而确保了通话的成功建立和通话质量,并且采用先建立语音信道再建立控制通道的方式,确保了通话质量,克服了传统通过软交换服务器指派的代理服务器和VoIP终端之间通信,可能导致语音流无法穿透防火墙的缺陷。本发明提供的实现VoIP语音流穿透防火墙的VoIP系统特别适合于大型的、复杂的、分布式的软交换组网中,并且把传统的由软交换服务器指派代理服务器的模式,转变为由终端主动探测并选择最优代理服务器的模式,也不会增加在原有组网模式的成本。
附图说明
图1为本发明实施例提供的实现VoIP语音流穿透防火墙的VoIP系统的网络拓扑图。图2为本发明实施例提供的VoIP系统的实现VoIP语音流穿透防火墙的方法流程图。图3为本发明实施例提供的应用实施例中VoIP终端注册及选择最优代理服务器的流程图。图4为本发明实施例提供的应用实施例中终端之间建立呼叫及媒体流转发流程图。
具体实施方式
本发明提供一种实现VoIP语音流穿透防火墙的VoIP系统及方法,通过VoIP终端主动探测代理服务器,实现VoIP语音流在穿透防火墙时能选择最优可用流媒体代理服务器,以保证VoIP语音质量的方法。为使本发明的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。请参阅图1,其为本发明实施例提供的实现VoIP语音流穿透防火墙的VoIP系统的网络拓扑图。所述的VoIP系统包括软交换服务器、至少两个代理服务器和至少两个VoIP终端。所述VoIP系统终端分别与所述软交换服务器和各代理服务器连接,所述软交换服务器分别与各代理服务器连接。本发明实施例提供的VoIP系统可用于运营商级或者大型集团多分支机构的VoIP组网中,将软交换服务器设置在IP骨干网之上,VoIP终端则分布在各处的用户私网防火墙背后。同时在IP骨干网或者各地各运营商接入网部中,布多台流媒体代理服务器,为系统内的VoIP终端提供流媒体代理服务。其中,所述VoIP终端,用于向各代理服务器发送探测消息,并根据各代理服务器的响应速度,确定各代理服务器的优先级;以及向优先级最高的代理服务器发送资源请求消息,请求该代理服务器分配媒体代理地址;以及通过向软交换服务器向其它VoIP终端发起呼叫请求信息,或者应答软交换服务器转发的其它VoIP终端发送的呼叫请求信息;所述代理服务器,用于响应各VoIP终端发送的探测消息;以及在收到资源请求消息后,向相应的VoIP终端发送附带其媒体代理地址的应答信息;所述软交换服务器,用于将作为主叫的VoIP终端发送的呼叫请求信息转发给作为被叫的VoIP终端,使作为主叫的VoIP终端与其被叫的VoIP终端建立通话。本发明实施例中,在VoIP系统组网时,所述VoIP终端需先向软交换服务器发送注册信息,与软交换服务器和各代理服务器组成VoIP网络。在具体实施时,所述VoIP终端为VoIP话机、VoIP软终端、VoIP接入网关中的一种或多种。在进一步的实施例中,当VoIP系统中的网络有变更时,所述VoIP网络还用于周期性的向各代理发送探测消息,更新各代理服务器的优先级,重新选定优选级最高的代理服务器。基于上述的VoIP系统,本发明还对应提供一种采用上述的VoIP系统的实现VoIP语音流穿透防火墙的方法,请参阅图2,其包括:S110、由各VoIP终端分别向各个代理服务器发送探测消息,并根据各代理服务器的响应速度,确定优先级最高的代理服务器;S120、由作为主叫的VoIP终端向与其对应的优先级最高的代理服务器发送资源请求消息,请求该代理服务器分配媒体代理地址;S130、由相应的代理服务器响应作为主叫的VoIP终端的资源请求,将媒体代理地址发送给作为主叫的VoIP终端;S140、由作为主叫的VoIP终端向软交换服务器发起呼叫请求信息,并携带与其相应的媒体代理地址;S150、通过软交换服务器向相应的作为被叫的VoIP终端转发所述呼叫请求信息;S160、由作为被叫的VoIP终端向其对应的优先级最高的代理服务器发送资源请求消息,请求该代理服务器分配媒体代理地址;S170、由相应的代理服务器响应作为被叫的VoIP终端的资源请求,将媒体代理地址发送给作为被叫的VoIP终端;S180、由作为被叫的VoIP终端向软交换服务器返回应答信息,并将该VoIP终端的媒体代理地址附带在应答消息中,与主叫的VoIP终端建立通话。其中,在步骤S110之前,所述的方法进一步包括:VoIP终端向软交换服务器发送注册信息,与软交换服务器和各代理服务器组成一个VoIP网络。并且在建立通话之后,VoIP语音流在VoIP终端与其相应的优先级最高的代理服务器之间传输,从而确实了通话质量。本发明实施例中,在各VoIP终端确定最优代理服务器的方式,通过VoIP终端分别向各个代理服务器发送探测消息时,将响应速度最快的代理服务器作为该VoIP终端的优先级最高的代理服务器。并且在VoIP系统中网络变更时,各VoIP终端周期性的向各代理发送探测消息,重新选定或更新各代理服务器的优先级。以下以VoIP终端为VoIP话机为应用实施例对本发明的技术方案时行详细说明:在该应用实施例的VoIP系统中包括VoIP话机A、VoIP话机B、N个代理服务器,分别为代理服务器1、代理服务器2、...、代理服务器n和软交换服务器。在组网时,VoIP话机A和VoIP话机B均需到在软交换服务器中注册,并选择优选级最高的代理服务器。如4所示,VoIP终端注册及选择最优代理服务器的流程图。在VoIP话机A和VoIP话机B进入网络后,首先向软交换服务器发送注册消息,在收到软交换服务器返回的确认信息后,表示VoIP话机A和VoIP话机B已成功注册,此时VoIP话机A和VoIP话机B成为整个软交换VoIP网络的一部分。若没有收到注册成功的信息,此时VoIP话机A和VoIP话机B需继续向软交换服务器发送注册消息直到注册成功,或按照处理流程显示注册失败。在注册成功后,VoIP话机A和VoIP话机B向VoIP系统中的所有已知的代理服务器发送“DETECT”探测消息。各代理服务器收到VoIP话机A和VoIP话机B发来的探测消息后,给VoIP话机A和VoIP话机B返回“DETECT_RSP”消息进行响应。VoIP话机A和VoIP话机B从响应的报文获得相关信息,并依此决定所有可用代理服务器的优先级,同时进行记录。并且将响应速度最快的代理服务器确定了优选级最高的代理服务器,根据响应速度来依次确定各代理服务器相对该VoIP话机的优选级。在具体实施时,这个探测过程采用不可靠非面向连接方式,只要在规定计时周期(如200mS)内,VoIP终端(即VoIP话机A和VoIP话机B)没有收到代理服务器返回的响应报文,即认为VoIP终端到此代理服务器之间路径不通。并且,在VoIP话机A和VoIP话机B确定好最优代理服务器之后,也会周期性的向所有代理服务器发送探测信息,以及时获知网络变动,并更新代理服务器优先级记录,从而保证传输服务的可靠。在各VoIP终端的优选级确定之后,各VoIP终端便可向其它终端发送呼叫请求取得通话。同样以上述应用实施例为例,将VoIP终端A作为主叫终端,VoIP终端B作为被叫终端,对各终端之间建立呼叫及媒体流转发的流程进行详细说明,其流程如图4所示。当VoIP终端A发起呼叫时,首先选择优先级最高的代理服务器1发送“RES_REQ”资源请求消息,请求代理服务器1分配媒体代理地址。代理服务器1收到VoIP终端A发来的资源请求消息后,会为VoIP终端A分配媒体代理地址,并将该地址附带到“RES_ACK”应答消息中返回给VoIP终端A。之后,由VoIP终端A向软交换服务器发起呼叫,并在信令中携带的代理服务器1分配的媒体代理地址,该地址并不是VoIP终端A的IP(Internetxa0Protocol,网络之间互连的协议)地址。软交换服务器收到呼叫请求信息后向VoIP终端B转发该消息,在VoIP终端B接收软交换服务器转发的呼叫信息后,同样根据其本地保存的可用代理服务器列表,向其优选级最高的代理服务器2发送“RES_REQ”资源请求消息,请求代理服务器2为其分配媒体代理地址。代理服务器2收到VoIP终端B发来的资源请求消息后会为VoIP终端B分配媒体代理地址,并将该地址附带到“RES_ACK”应答消息中,返回给VoIP终端B。此时,VoIP终端B给软交换服务器返回呼叫应答信令,并在应答信令中携带的该VoIP终端B的媒体地址。在VoIP终端B摘机后,VoIP终端A和VoIP终端B建立通话。在呼叫建立后,VoIP语音流首先在VoIP终端A、VoIP终端B和各自的代理服务器1、2之间进行传输,VoIP语音流将在各代理服务器之间转发,形成VoIP终端A到代理服务器1,到代理服务器2,再到VoIP终端B,这样的VoIP语音流传输路径。并且之前的探测过程已确保VoIP终端A、VoIP终端B和各自优先级最高的代理服务器具有较好的传输环境。在其它实施例中,作为被叫的VoIP终端B还可在VoIP终端A向其代理服务器1请求分配媒体代理地址的同时,向代理服务器2请求分配媒体代理地址,以减短两VOIP终端建议通话的时间。综上所述,本发明提供的实现VoIP语音流穿透防火墙的VoIP系统及方法,通过各个VoIP终端向VoIP系统中各个代理服务器发送探测消息来选择最优的流媒体代理服务器从而确保了通话的成功建立和通话质量,并且采用先建立语音信道再建立控制通道的方式,确保了通话质量,克服了传统通过软交换服务器指派的代理服务器和VoIP终端之间通信,可能导致语音流无法穿透防火墙的缺陷。本发明提供的实现VoIP语音流穿透防火墙的VoIP系统特别适合于大型的、复杂的、分布式的软交换组网中,并且把传统的由软交换服务器指派代理服务器的模式,转变为由终端主动探测并选择最优代理服务器的模式,也不会增加在原有组网模式的成本。xa0可以理解的是,对本领域普通技术人员来说,可以根据本发明的技术方案及其发明构思加以等同替换或改变,而所有这些改变或替换都应属于本发明所附的权利要求的保护范围。